package com.jy.study;

import cn.hutool.core.bean.BeanUtil;
import com.jy.study.entity.Person;

import java.beans.PropertyDescriptor;
import java.util.HashMap;

/**
 * @Classname BeanUtils
 * @Description Bean的工具类
 * @Date 2019/10/16 18:01
 * @Created by  jiaoyong
 */
public class BeanUtils {

    public static void main(String[] args) {

        //isBean方法根据是否存在只有一个参数的setXXX方法来判定是否是一个Bean对象。
        // 这样的判定方法主要目的是保证至少有一个setXXX方法用于属性注入。
        //isBean = false
        boolean isBean1 = BeanUtil.isBean(HashMap.class);
        //isBean2 = true
        boolean isBean2 = BeanUtil.isBean(Person.class);

        //Hutool中对内省的封装包括：
        //获得Bean字段描述数组
        PropertyDescriptor[] descriptors = BeanUtil.getPropertyDescriptors(Person.class);

        //获得Bean类指定属性描述
        //name = java.beans.PropertyDescriptor[name=name; propertyType=class java.lang.String;
        // readMethod=public java.lang.String com.jy.study.entity.Person.getName();
        // writeMethod=public void com.jy.study.entity.Person.setName(java.lang.String)]
        PropertyDescriptor name = BeanUtil.getPropertyDescriptor(Person.class, "name");



    }

}
